package cn.iotab.iotkit.transport.api.access;

import cn.iotab.iotkit.queue.rpc.QueueResponseTemplate;
import cn.iotab.iotkit.transport.api.common.message.JsonQueueMsg;
import cn.iotab.iotkit.transport.api.common.message.RpcRequestMessage;
import cn.iotab.iotkit.transport.api.common.message.RpcResponseMessage;
import cn.iotab.iotkit.transport.api.common.message.ToServerMessage;
import cn.iotab.iotkit.transport.api.common.message.ToTransportMessage;
import cn.iotab.iotkit.transport.api.common.queue.SendResultCallback;

public interface TransportAccessService extends QueueResponseTemplate.QueueHandler<JsonQueueMsg<RpcRequestMessage>, JsonQueueMsg<RpcResponseMessage>> {

    void processToServerMsg(ToServerMessage toServerMessage);

    void sendToTransportMsg(ToTransportMessage toTransportMessage, SendResultCallback<Void> callback);
}
